تاریخچه
اولین تحقیق واقعی علمی و آکادمیک بر روی ویروسها توسط فرد کوهن در سال 1983، با نام ویروس که توسط لِن آدلمن ابداع شده بود، انجام شد. بعضاً از کوهن به عنوان «پدر ویروسهای کامپیوتری» نام برده میشود، اما واقعاً ویروسهایی بودند که قبل از شروع تحقیقات او تولید شده بودند. ویروس Elk Cloner نوشته شده توسط ریچ اسکرنتا در سال 1982 در گردش بود و ویروسهای تولید شده توسط جو دلینگر نیز بین سالهای 1981 تا 1983 ساخته شده بودند؛ که همهی آنها برای پلتفرمهای Apple II بودند. برخی منابع یک نقص فنی در Arpanet را در سال 1980 به عنوان اولین ویروس ذکر میکنند، اما آن فقط یک کد قانونی و مجاز بود که اشتباه کار میکرد و تنها مسئلهای که ایجاد میکرد این بود که دادهها را در بستههای شبکه پخش میکرد. ویروسهای گریگوری بنفورد، تنها به به داستانهای علمیاش ختم نشد. او در سال 1969 ویروسهای غیر مخرب خود را در جایی که امروزه «آزمایشگاه ملی لیوِرمور لارنس» خوانده میشود و در Arpanet اولیه تولید و منتشر کرد[۲].
میزبان ویروس
ویروس هم مانند هر برنامه کامپیوتری نیاز به محلی برای ذخیره خود دارد. ولی این محل باید به گونهای باشد که ویروسها را به وصول اهداف خود نزدیکتر کند. همان گونه که قبلاً ذکر شد اکثر ویروسها به طور انگلوار به فایلهای اجرایی میچسبند و آنها را آلوده میکنند. اصولاً میتوان فایلها را به دو گونه کلی «اجرایی» و «غیر اجرایی» تقسیم کرد که عموم ویروسها در فایلهای اجرایی جای گرفته و آنها را آلوده میکنند و واقعاً کمتر ویروسی یافت میشود که در یک فایل غیراجرایی قرار بگیرد و بتواند از طریق آن تکثیر شود.
لازم به ذکر است که بعضی از فایلها را شاید نتوان ذاتاً اجرایی نامید اما چون اینگونه فایلها میتوانند حاوی قسمتهایی اجرایی باشند، لذا آنها را از نوع اجرایی در نظر میگیریم. از این نوع فایلها میتوان به فایلهای اچتیامال و مستندات برنامههای اداره اشاره کرد که به ترتیب ممکن است شامل اسکریپت و ماکرو باشند. اسکریپتها و ماکروها قسمتهایی اجرایی هستند که در دل این فایلها قرار گرفته و کار خاصی را انجام میدهند.
در ذیل فهرست پسوندهای رایج فایلهای اجرایی ارائه شده است و اکثر نرمافزارهای ضد ویروس در حالت عادی (بدون تنظیمات خاص) این فایلها را ویروسیابی میکنند (البته در برخی برنامههای ضد ویروس ممکن است برخی پسوندها حذف یا اضافه شوند) :
.com ، .exe ، .dll ، .ovl ، .bin ، .sys ، .dot ، .doc ، .vbe ، .vbs ، .hta ، .htm ، .scr ، .ocx ، .hlp ، .eml
بنابراین یکی از اصلیترین میزبانهای ویروس، فایلهای اجرایی هستند. از طرف دیگر برخی ویروسها نیز از سکتور راهانداز (Boot Sector) و جدول بخشبندی دیسک (Master Boot Record یا Partition Table) به عنوان میزبان استفاده میکنند. سکتور راهانداز واحد راهاندازی سیستمعامل است که در سکتور شماره صفر دیسکت فلاپی و یا درایوهای منطقی یک دیسک سخت قرار دارد و جدول بخشبندی شامل اطلاعات تقسیمبندی دیسک سخت میباشد که آن نیز در سکتور شماره صفر دیسک سخت قرار دارد. اینگونه ویروسها با قرار گرفتن در یکی از این دو محل، هنگام راهاندازی کامپیوتر، اجرا شده و در حافظه سیستم مقیم میشوند و تا زمان خاموش کردن کامپیوتر و یا راهاندازی دوباره، همانجا مانده و فلاپیها و یا دیسکهای سخت دیگر را آلوده میکنند.
عملکرد ویروس
همانطور که گفته شد تنها پنج درصد از ویروسها دارای اثرات تخریبی هستند و بقیه صرفاً تکثیر میشوند. با توجه به این مطلب این پرسش مطرح است که چرا ویروسها به عنوان یک معضل شناخته میشوند و باید با آنها مبارزه کرد؟ پاسخ به این پرسش در موارد زیر خلاصه گردیده است:
۱ - بسیاری از ویروسها دارای اثراتی هستند که هرچند تخریبی نمیباشد ولی میتواند برای کاربر ایجاد مزاحمت کند. مثلاً ممکن است پیغامی نمایش دهد، باعث ریزش حروف صفحه نمایش به پایین شود یا اینکه یک آهنگ پخش نماید. علاوه بر این برخی از ویروسها به علت اشکالات نرمافزاری که ناشی از عدم دقت ویروسنویس میباشد، ممکن است دارای اثراتی غیرقابل پیشبینی باشند که گاهی این اثرات میتوانند تخریبی نیز باشند. از دیدگاه کاربر اهمیتی ندارد که خسارت ایجاد شده بوسیله یک ویروس، یک کار عمدی پیشبینی شده توسط نویسنده ویروس بوده باشد یا یک اشتباه برنامهنویسی.
۲ - برخی از ویروسها در حافظه کامپیوتر مقیم شده و از این طریق عملیات تکثیر خود را انجام میدهند. این عمل ممکن است به گونهای باشد که جایی برای اجرای برنامههای دیگر نماند و یا باعث ایجاد تأخیر یا وقفه در حین عملیات سیستم اعم از اجرای برنامهها و یا راهاندازی کامپیوتر گردد.
۳ - فرض کنید که شما یک ویروس بر روی کامپیوتر خود داشته باشید. بسیار احتمال دارد که این ویروس به صورت غیرعمدی به یک دوست، همکار یا مشتری منتقل شود که این امر ممکن است باعث از بین رفتن اعتماد آنها به شما و شرکت شما شود.
۴ - ویروسها و برنامههای مخرب زیادی وجود دارند که اقدام به سرقت اطلاعات و کلمات عبور کاربر مینمایند. بعضی از اینگونه برنامهها با مقیم شدن در حافظه از عباراتی که توسط شما تایپ میشود گزارش گرفته و پس از اتصال رایانه شما به اینترنت این اطلاعات را برای مقصد خاصی ارسال میکنند. گیرنده این اطلاعات میتواند به راحتی از آنها سوء استفادههای مختلفی نماید.
علاوه بر همه اینها هیچ ویروسی کاملاً بیضرر نیست و در خوشبینانهترین حالت، آنها وقت شما، وقت پردازنده و فضای دیسک شما را تلف میکنند.
در مورد اثرات تخریبی ویروسهایی که آنها را به صورت عمدی انجام میدهند میتوان به موارد زیر اشاره نمود:
- تخریب یا حذف برنامهها و اطلاعات بخشهای مختلف دیسکها.
- فرمت کردن دیسکها.
- کد کردن اطلاعات و برنامهها.
- تخریب اطلاعات حافظه فلش ها.
مزاحمتهای فوق ممکن است به محض فعال شدن ویروس (یعنی قرار گرفتن ویروس در حافظه از طریق اجرای یک برنامه آلوده) و یا در یک تاریخ و زمان خاص و یا حتی با اجرای یک برنامه کاربردی خاص انجام شود.
انواع ویروسها
ارائه یک تقسیمبندی دقیق از ویروسها کار مشکلی است و میتوان ویروسها را به روشهای مختلفی تقسیمبندی کرد. این روشها میتواند بر اساس میزبان ویروس، سیستمعاملی که ویروس میتواند در آن فعالیت کند، روش آلودهسازی فایل و ... باشد. در زیر به برخی از این روشها اشاره میکنیم :
تقسیم بندی ویروسها بر اساس مقصد آلودهسازی:
۱ - ویروسهای فایلی (File Viruses) : ویروسهای فایلی، معمولاً فایلهای اجرایی را آلوده میکنند. فایلهای آلوده به این نوع از ویروسها اغلب (اما نه همیشه) دارای پسوند .com یا .exe هستند.
۲ - ویروسهای ماکرو (Macro Viruses) : ویروسهای ماکرو، مستندات برنامههایی را که از امکان ماکرونویسی پشتیبانی مینمایند (مانند MS Word ، MS Excel و...) آلوده میکنند. فایلهای اینگونه برنامهها اجرایی نیستند ولی درون آنها قسمتهایی اجرایی به نام «ماکرو» وجود دارد که میتواند میزبان مناسبی برای ویروسهای ماکرو باشد.
۳ - ویروسهای بوت و پارتیشن سکتوری (Boot Sector and Partition Table Viruses) : اینگونه ویروسها سکتور راهانداز (Boot Sector) دیسک سخت و دیسکت فلاپی یا جدول بخشبندی دیسکهای سخت را آلوده میکنند. با راهاندازی سیستم از روی دیسکی که به اینگونه ویروسها آلوده شده است، ویروس در حافظه مقیم شده و متعاقباً دیسکهایی را که مورد دسترسی قرار گیرند، آلوده میکند.
۴ - ویروسهای اسکریپتی (Script Viruses) : این ویروسها که اسکریپتهای نوشته شده به زبانهای ویژوال بیسیک یا جاوا میباشند، تنها در کامپیوترهایی اجرا میشوند که بر روی آنها Internet Explorer یا هر مرورگر وب دیگری با توانایی اجرای اسکریپتها، نصب شده باشد و فایلهای با پسوند .html ، .htm ، .vbs ، .js ، .htt یا .asp را آلوده میکنند.
ویروسها جدا از تقسیمبندی فوق، ممکن است در یک یا چند دسته از دستههای زیر نیز قرار بگیرند:
- ویروسهای مقیم در حافظه (Memory Resident Viruses) :
اینگونه ویروسها با مقیم شدن در حافظه، هنگام دسترسی به فایلهای دیگر، آنها را آلوده میکنند.
- ویروسهای مخفیکار (Stealth Viruses) :
اینگونه ویروسها به روشهای مختلف ردپای خویش را مخفی میکنند. به این معنی که فایلهای آلوده به اینگونه ویروسها به گونهای نشان داده میشود که یک فایل غیرآلوده جلوه کند. به عنوان مثال عموم ویروسها پس از آلوده کردن یک فایل، اندازه آن را افزایش میدهند و یا گاهی تاریخ و زمان ضبط فایل را عوض میکنند. اما ویروسهای مخفیکار میتوانند با روشهای خاص و بدون تغییر وضعیت ظاهری، عملیات خویش را انجام دهند.
- ویروسهای کدگذاری شده (Encrypting Viruses) :
این ویروسها پس از هر بار آلودهسازی، با استفاده از شیوههای خود رمزی شکل ظاهری خود را تغییر میدهند.
- ویروسهای چندشکلی (Polymorphic Viruses) :
اینگونه ویروسها با استفاده از الگوریتمهای خاص، علاوه بر تغییر شکل ظاهری خود، ساختار خود را نیز تغییر میدهند به طوریکه ممکن است جای دستورالعملها و حتی خود دستورالعملها نیز تغییر کنند.
- ویروسهای فعالشونده بر اساس رویداد خاص(Triggered Event Viruses) :
ویروسهایی هستند که بخشی از عملیات تخریب خود را در ساعت و یا در تاریخ خاص انجام میدهند. البته باید توجه داشت که تکثیر و آلودهسازی فایلها در تمام اوقات فعال بودن ویروس انجام میشود.
نشانههای وجود ویروس
معمولاً سیستمی که به ویروس آلوده میگردد نشانههایی را از خود بروز میدهد که با دقت در آنها میتوان به ویروسی بودن احتمالی سیستم پی برد. بعضی از این نشانهها در زیر آمده است. اما باید دقت داشت که این نشانهها ممکن است در اثر عوامل غیرویروسی نیز ظاهر گردد. اما اگر کامپیوتر بطور عادی کار میکرده و ناگهان و بدون هیچگونه دستکاری، این علایم را از خود بروز میدهد، احتمال وجود ویروس بیشتر است:
۱ - سیستم در هنگام راهاندازی قفل میکند و احتمالاً پیغامهای غیرمعمول روی صفحه ظاهر میگردد.
۲ - هنگام اجرای برنامهها پیغام کمبود حافظه ظاهر شده و برنامه اجرا نمیگردد.
۳ - در کارچاپگر اختلال ایجاد میشود یا بدون هیچگونه فرمان چاپی شروع به کار میکند.
۴ - امکان دسترسی به برخی از درایوها وجود ندارد.
۵ - هنگام اجرای فایلها، پیغام File is Damaged یا File is Corrupted نمایش داده میشود.
۶ - هنگام اجرای یک فایل، کاراکترها و یا پیغامهای غیرعادی روی صفحه نمایش ظاهر میگردد.
۷ - هنگام کار در محیطهای گرافیکی، تصاویر به هم میریزد.
۸ - اصوات غیرمعمول یا موزیک از بلندگوهای کامپیوتر پخش میشود.
۹ - سیستم هنگام اجرای یک برنامه قفل کرده و حتی گاهی فشردن کلیدهای Ctrl+Alt+Del نیز نمیتواند سیستم را دوباره راهاندازی کند.
۱۰ - اطلاعات بخشی از دیسک سخت و یا تمام آن بطور ناگهانی از بین میرود یا دیسک سخت ناخواسته فرمت میشود.
۱۱ - اندازه فایلهای اجرایی افزایش مییابد.
۱۲ - خواص فایلهای اجرایی تغییر میکند.
۱۳ - سرعت سیستم بطور نامحسوسی کاهش مییابد.
۱۴ - اطلاعات Setup کامپیوتر از بین میرود.
۱۵ - برنامهها مراجعاتی به دیسکت انجام میدهند که قبلاً انجام نمیدادند.
۱۶ - کاهش فضای خالی دیسک بدون اینکه فایلی اضافه شده و یا به محتوای فایلها افزوده شده باشد.
۱۷ - نرمافزارهای مقیم در حافظه با خطا اجرا شده یا اصلاً اجرا نمیشوند.
۱۸ - بعضی برنامهها سعی در برقراری ارتباط با اینترنت را دارند.
۱۹ - هنگام کار با اینترنت مقدار ارسال و دریافت اطلاعات ناخواسته افزایش یافته و سرعت به شدت افت میکند.
۲۰ - نامههای الکترونیکی ناخواسته از روی سیستم ارسال شده و یا دریافت میگردد.
منابع
- ويروس ها و بدافزارهای كامپيوتری. دكتر بابک بشری راد، دكتر آرش حبيبی لشكری. انتشارات ناقوس. ۱۳۹۱
- ويروس ها و بدافزارهاي كامپيوتري. دكتر بابك بشری راد، دكتر آرش حبيبي لشكري. انتشارات ناقوس. ۱۳۹۱
جستارهای وابسته
[نهفتن]
|
|
بدافزارهای آلودهکننده |
|
|
مخفیکارها |
|
|
برای کسب درآمد |
|
|
بر اساس سیستمعامل |
|
|
محافظت |
|
|
روشهای مقابله |
|
|